#ifndef IENGINE_H
#define IENGINE_H

#include <string>
#include "ICompiler.h"
#include "IInterpretor.h"
#include "IPlugin.h"

namespace SimplePascal
{
	class IEngine
	{
	public:
		IEngine(ICompiler* compiler, IInterpretor* interpretor, IMemory* memory);
		virtual ~IEngine(){}

		virtual void InstallPlugin(IPlugin* plugin)=0;
		virtual void RemovePlugin(IPlugin* plugin)=0;
		virtual void Run(const wstring input)=0;
	};
}

#endif